并行加速
采用多核心 CPU、GPU 进行并行加速是提高计算效率的重要手段,而 SIMD、CPU OpenMP 并行的使用门槛最低。
SPX
将交互粒子对映射到每个粒子都有的邻居粒子列表中,这样每个粒子都可以独立计算,
从而在交互计算(如力交互)实现基于粒子的 OpenMP 并行加速,但这样的策略调整反而拖慢了速度。
其中,交互粒子对由 NNPS
函数库提供,也使用了 OpenMP 并行。
并行加速的实现
- [?] NNPS 构建;
- [x] NNPS 搜索;
- [?] 排斥力求解;
- [?] 粘性力求解;
- [?] 压力力求解;
- [?] 密度求和。